package com.ssy.lingxi.member.merchant.service.web;

import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.member.merchant.model.vo.basic.request.MemberLogoVO;
import com.ssy.lingxi.member.merchant.model.vo.basic.request.MemberUpdateRegisterDetailVO;
import com.ssy.lingxi.member.merchant.model.vo.basic.response.MemberRegisterDetailVO;
import com.ssy.lingxi.member.merchant.model.vo.manage.request.MemberAndRoleIdVO;
import com.ssy.lingxi.member.merchant.model.vo.manage.response.UpperChannelVO;
import org.springframework.http.HttpHeaders;

import java.util.List;

/**“首页” - 相关接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-01-23
 */
public interface IMemberMainPageService {

    /**
     * 新增或修改用户Logo
     * @param headers Http头部信息
     * @param logoVO 接口参数
     * @return 新增结果
     */
    Wrapper<Void> addMemberUserLogo(HttpHeaders headers, MemberLogoVO logoVO);

    /**
     * “首页” - 审核不通过时，查询会员注册资料信息
     * @param headers Http头部信息
     * @return 查询结果
     */
    Wrapper<MemberRegisterDetailVO> getMemberRegisterDetail(HttpHeaders headers);

    /**
     * “首页” - 审核不通过时，修改会员注册资料
     * @param headers Http头部信息
     * @param detailVO 接口参数
     * @return 操作结果
     */
    Wrapper<Void> updateMemberRegisterDetail(HttpHeaders headers, MemberUpdateRegisterDetailVO detailVO);

    /**
     * 查询当前会员渠道角色、及上级渠道会员列表
     * @param headers Http头部信息
     * @return 查询结果
     */
    Wrapper<List<UpperChannelVO>> findUpperChannels(HttpHeaders headers);

    /**
     * 判断当前登录会员，是否指定会员的上级会员
     * @param headers Http头部信息
     * @param idVO 接口参数
     * @return 查询结果
     */
    Wrapper<Boolean> isUpperMember(HttpHeaders headers, MemberAndRoleIdVO idVO);
}
